package edu.del.newsreleasesystem.mq.message;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 消息实体：用于 RabbitMQ 消息队列中传递新闻同步信息
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class NewsSyncMessage {

    /** 操作类型枚举 */
    public enum OperationType {
        PUBLISH,    // 发布新闻
        UPDATE,     // 更新新闻
        DELETE      // 删除新闻
    }
    // 新闻ID（必须，消费者根据ID查询新闻）
    private Integer newsId;
    // 操作类型：发布 / 更新 / 删除
    private OperationType operationType;
    // 事件发生时间
    private Date eventTime;
    // 操作人（可选）
    private String operator;
}